package com.hyjx.framework.component.interfaceservice;

import java.sql.Connection;
import java.util.List;
import java.util.Map;

import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

import com.hyjx.framework.component.interfaceservice.dataservice.DataServiceModel;
import com.hyjx.framework.orm.dao.Pager;

/**
 * 接口服务接口
 */
@SOAPBinding(style = Style.RPC)
public interface InterfaceService {
	/**
	 * 查找数据服务
	 * @param srvid
	 * @return
	 */
	DataServiceModel findDataService(String srvid);

	/**
	 * 查询数据用户
	 * @param userid
	 * @return
	 */
	UserInfoModel findUserInfo(String userid);
	//String findSql(String srvId);

	/**
	 * 查找SQL描述
	 * @param srvId
	 * @return
	 */
	String findSqlDesc(String srvId);

	/**
	 * 查找 map
	 * @param sql
	 * @return
	 */
	List queryMap(String sql);

	/**
	 * 限制许可
	 * @param model
	 * @return
	 */
	String limitAdmit(ConditionModel model);

	/**
	 * 查询数据服务
	 * @return
	 */
	List queryDataService();

	/**
	 * 查询用户信息
	 * @return
	 */
	List queryUserInfo();

	/**
	 * 查询数据
	 * @param sql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	List queryPager(String sql, String pageNo, String pageSize);
	
	Pager queryPagerAll(String sql, String pageNo, String pageSize);

	/**
	 * 查询分页数据
	 * @param sql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	Map queryPagerP(int dbType, String sql, String pageNo, String pageSize);
	
	/**
	 * 通过数据连接获得查询分页数据
	 * @param con
	 * @param sql
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	Map queryPagerByConnection(int dbType, Connection con, String sql, String pageNo, String pageSize) throws Exception;

	/**
	 * 查询分页 map
	 * @param str
	 * @return
	 */
	List queryDataConditionService(String str);

	/**
	 * 插入数据
	 * @param sql
	 * @return
	 */
	boolean  insertData(String sql);

	/**
	 * 更新数据
	 * @param sql
	 * @return
	 */
	int  updateData(String sql);

	/**
	 * 服务请求日志
	 * @param model
	 * @return
	 */
	boolean  srvRequestLog(InterfaceLogModel model);

	/**
	 * 查询用户id
	 * @param model
	 * @return
	 */
	String queryUserIdByLogName(String model);
}
